package ynu.edu.model.service;

import com.baomidou.mybatisplus.extension.service.IService;
import ynu.edu.common.domain.PageDTO;
import ynu.edu.model.domain.HanziGenerationResponse;
import ynu.edu.model.entity.HanziGeneration;


import java.util.List;

/**
 * 汉字生成记录Service接口
 */
public interface HanziGenerationService extends IService<HanziGeneration> {


    /**
     * 更新生成状态
     */
    boolean updateStatus(Long id, String status, String ossUrl, Long generationTime, String errorMessage);

    /**
     * 根据汉字字符查询生成记录
     */
    List<HanziGenerationResponse> findByChineseChar(String chineseChar);

    /**
     * 根据状态查询生成记录
     */
    List<HanziGenerationResponse> findByStatus(String status);

    /**
     * 根据请求ID查询生成记录
     */
    HanziGenerationResponse findByRequestId(String requestId);

    /**
     * 分页查询生成记录
     */
    PageDTO<HanziGeneration> getPage(int page, int size);

    /**
     * 统计总记录数
     */
    long countRecords();

    /**
     * 统计成功记录数
     */
    long countSuccessRecords();

    /**
     * 统计失败记录数
     */
    long countFailedRecords();

    /**
     * 统计处理中记录数
     */
    long countProcessingRecords();
} 